-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Build infrastructure #6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Review by @DarkDimius. |
import Keys._ | ||
import Process._ | ||
|
||
object MiniboxingBuild extends Build { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be named DottyBuild
.
btw is there any reason to have a Scala build file? It seems that all settings here can be in .sbt.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right now, we could have build.sbt
and it would suffice, but if we start preparing multiple projects, it will be easier to use an sbt project.
@sjrd, all ok? |
LGTM Yep :) |
Since nobody voiced any concerns I'm merging this. |
Create Scala signature provider that renders methods and classes
Remove div from search results
Implement the `#6` point form SIP-64 i.e. --- ### 6. Context Bounds for Polymorphic Functions Currently, context bounds can be used in methods, but not in function types or function literals. It would be nice propose to drop this irregularity and allow context bounds also in these places. Example: ```scala type Comparer = [X: Ord] => (x: X, y: X) => Boolean val less: Comparer = [X: Ord as ord] => (x: X, y: X) => ord.compare(x, y) < 0 ``` The expansion of such context bounds is analogous to the expansion in method types, except that instead of adding a using clause in a method, we insert a context function type. For instance, the `type` and `val` definitions above would expand to ```scala type Comparer = [X] => (x: X, y: X) => Ord[X] ?=> Boolean val less: Comparer = [X] => (x: X, y: X) => (ord: Ord[X]) ?=> ord.compare(x, y) < 0 ``` The expansion of using clauses does look inside alias types. For instance, here is a variation of the previous example that uses a parameterized type alias: ```scala type Cmp[X] = (x: X, y: X) => Boolean type Comparer2 = [X: Ord] => Cmp[X] ``` The expansion of the right hand side of `Comparer2` expands the `Cmp[X]` alias and then inserts the context function at the same place as what's done for `Comparer`.
Backport "Handle suspension due to macro call in arbitrary phases" to LTS
Just enough to enable
sbt eclipse
to work and get a project file. Also an improved readme.Tests don't work yet: